home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / nturl2path.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  2KB  |  72 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''Convert a NT pathname to a file URL and vice versa.'''
  5.  
  6. def url2pathname(url):
  7.     '''Convert a URL to a DOS path.
  8.  
  9.             ///C|/foo/bar/spam.foo
  10.  
  11.                     becomes
  12.  
  13.             C:\\foo\\bar\\spam.foo
  14.     '''
  15.     import string as string
  16.     import urllib as urllib
  17.     if '|' not in url:
  18.         if url[:4] == '////':
  19.             url = url[2:]
  20.         
  21.         components = url.split('/')
  22.         return urllib.unquote('\\'.join(components))
  23.     
  24.     comp = url.split('|')
  25.     if len(comp) != 2 or comp[0][-1] not in string.ascii_letters:
  26.         error = 'Bad URL: ' + url
  27.         raise IOError, error
  28.     
  29.     drive = comp[0][-1].upper()
  30.     components = comp[1].split('/')
  31.     path = drive + ':'
  32.     for comp in components:
  33.         if comp:
  34.             path = path + '\\' + urllib.unquote(comp)
  35.             continue
  36.     
  37.     return path
  38.  
  39.  
  40. def pathname2url(p):
  41.     '''Convert a DOS path name to a file url.
  42.  
  43.             C:\\foo\\bar\\spam.foo
  44.  
  45.                     becomes
  46.  
  47.             ///C|/foo/bar/spam.foo
  48.     '''
  49.     import urllib
  50.     if ':' not in p:
  51.         if p[:2] == '\\\\':
  52.             p = '\\\\' + p
  53.         
  54.         components = p.split('\\')
  55.         return urllib.quote('/'.join(components))
  56.     
  57.     comp = p.split(':')
  58.     if len(comp) != 2 or len(comp[0]) > 1:
  59.         error = 'Bad path: ' + p
  60.         raise IOError, error
  61.     
  62.     drive = urllib.quote(comp[0].upper())
  63.     components = comp[1].split('\\')
  64.     path = '///' + drive + '|'
  65.     for comp in components:
  66.         if comp:
  67.             path = path + '/' + urllib.quote(comp)
  68.             continue
  69.     
  70.     return path
  71.  
  72.